//---------------------------------------------------------------------------

#ifndef CircleH
#define CircleH
#include <Windows.h>
#include <gl/GL.h>
#include <gl/GLU.h>
#include "PV2D.h"
#include "Obstaculo.h"

class Circle : public Obstaculo
{
private:
	//Puntos
        vector<PV2D*>* contorno;
        GLfloat radio;
        PV2D* center;
        PV2D* n;

        Lapiz* lapiz;


	//Color
	GLfloat rC;
	GLfloat gC;
	GLfloat bC;


public:
	//Constructoras y Destructoras
	Circle(void);
	Circle(const Circle &c);
	Circle(PV2D* c, GLfloat ra);
	Circle(PV2D* c, GLfloat ra, GLfloat r, GLfloat g, GLfloat b);
	~Circle(void);

	//Setters y Getters
	void setCenter(PV2D* p);
        void setRadio(GLfloat r);
	void setColor(GLfloat r, GLfloat g, GLfloat b);
	PV2D* getCenter();
	PV2D* getRadio();

	//Draw
	void draw(bool b);
        bool interseccionVSBall(Ball* b, float &tHit,PV2D*& normalLocal);
        bool isCircle();

};
//---------------------------------------------------------------------------
#endif
